/*
 * Conectar.h
 *
 *  Created on: Jun 26, 2011
 *      Author: tualibano
 */

#ifndef CONECTAR_H_
#define CONECTAR_H_



/////////// TCP ////////////////

//conexão inicial
extern void *ConectHandler(void *ptr);

// conecta via tcp. tipo de conexão:
// inicial ou arquivo.
//todo: o envio de pedido de pedaço de arquivo será feito aqui
extern void *ConectarTcp(Vizinho *servidor, int tipo);

// thread
// essa thread faz a recepção de conexões tcp.
// todo: aqui será feito a recepção de pedidos de pedaço de arquivo.
extern void * ServidorTcp(void *arg);

// apenas desacopla o main do phtrad_create.
extern int IniciarServidorTcp();

//////////// UDP //////////////

// recebe pacotes UDP. analise será feita dento dessa
// função.
extern void *ServidorUdp(void *ptr);

// apenas desacopla o main do phtrad_create.
extern int IniciarServidorUdp();

// acredito que será extinta no futuro.
// apenas referencia para tarefas que utilizem udp.
extern int CriaSocketUdp(char *ip, int porta);

extern int getiplocal(char *);


///////////// MANUTENÇÃO DA REDE ///////////////

//extern int AdicionarVizihnoRede(TabelaVizinhos *tabela);

#endif /* CONECTAR_H_ */
